Add a preliminary CHANGELOG.md.#289
Add a preliminary CHANGELOG.md.#289AdrienHerubel merged 2 commits intoAcademySoftwareFoundation:dev_1.2from
Conversation
Updated the CHANGELOG to reflect recent enhancements and bug fixes, including changes to specular behavior and new parameters. Signed-off-by: Adrien Herubel <AdrienHerubel@users.noreply.github.com>
e3194ef
into
AcademySoftwareFoundation:dev_1.2
|
Are we planning to standardise and/or automate this process in the future, in a fashion similar to Semantic Versionning tools? Or do we consider the number of changes will likely remain small enough that this is better done manually? |
|
Note that there is an auto-generated change-log here in the "releases" page: https://github.com/AcademySoftwareFoundation/OpenPBR/releases But it is just a list of the PRs by name. The separate curated one has more discussion and detail of what was done, so seems useful to maintain as well. The idea was that this could function as a reference for people doing updates to their implementations or writing upgrade logic, so as much detail as possible would be helpful. (Including formulas/code perhaps). Possibly there is some way to have the auto-generated one include additional manually written discussion, which would be another option (but still require curation obviously). Though note that the current version ended up a bit broken since the GitHub markdown syntax in it doesn't seem to render properly, so we need to fix that. |
* Add a preliminary CHANGELOG.md. Updated the CHANGELOG to reflect recent enhancements and bug fixes, including changes to specular behavior and new parameters. Signed-off-by: Adrien Herubel <AdrienHerubel@users.noreply.github.com> --------- Signed-off-by: Adrien Herubel <AdrienHerubel@users.noreply.github.com> Co-authored-by: Adrien Herubel <AdrienHerubel@users.noreply.github.com>
This adds a changelog, with a proposed format for the description. (It includes only the PRs merged thus-far!)
Probably this needs to be improved to give more details of the specific changes that an implementation would need to make, relative to the previous version. It functions as a summary mostly though, from which we can construct the more detailed logic for parameter changes.
Note that we have an auto-generated change list at https://github.com/AcademySoftwareFoundation/OpenPBR/releases as well (which could be enhanced a bit as well, e.g. using labels more consistently), so this is more like a overall summary of all changes in one file, with more detailed human-curated descriptions and explanations.
Change Log
This file gives a high level overview of the changes introduced between versions, relative to version 1.0.
[1.2] - Unreleased
clamp all inputs according to the parameter reference (section 4 of the spec) (#276) #277: This will ensure defined and portable behavior across renderers.
Add clamp to prevent negative metallic Fresnel #256: This PR adds a safety clamp to the result of metallic F82-tint model Fresnel calculations, preventing any negative reflectance values and therefore improving physical correctness and rendering quality for metallic surfaces.
specular_weight reinterpretation (as decoupled IOR) #247: This alters the behavior of
specular_weightwhen applied to the dielectric base, so that the refraction direction is not modified byspecular_weight, as this control is designed to vary only the reflectivity without disturbing the refraction appearance. Thus the reflection highlight and the refraction direction are effectively decoupled, in an unphysical but artistically convenient way.MaterialX: metal edge tint should not be multiplied by specular_weight #240: Fixes a bug in the MaterialX graph, where the edge-tint color for the generalized_schlick_bsdf was multiplied by
specular_weight, but the whole lobe was multiplied byspecular_weightas well.MaterialX: fix bug in thin-walled subsurface #251: Fixes a bug in the MaterialX implementation of thin-walled subsurface, where
specular_colorwas accounted for in both the BSDF weights and as an explicit multiplier.MaterialX: Connect
geometry_thin_walledflag to <surface> #250: This PR ensures that thegeometry_thin_walledproperty, which indicates if a material's geometry should be treated as "thin-walled" (i.e., like a sheet or membrane without interior volume), is correctly connected to and represented within the node of MaterialX.Add clamp of metal Fresnel to allow for specular_weight > 1 #238: Prior to this change, if
specular_weightwas set to a value greater than 1, it could lead to unphysical metallic Fresnel factors > 1. By introducing the clamp, the code ensures that, regardless of the value given to specular_weight, the resulting metal Fresnel reflectance remains within a physical range.Add emission_weight #231: Introduces a new parameter called$[0,1]$ dimensionless scale facto r for the
emission_weight, providing a simpleemission_luminance.[1.1] - Jun 28, 2024
Change thin film IOR default #211: This won't make much difference to the look in implementations that ignore the adjacent IORs of the film, but for those that take it into account, this will make the film visible rather than invisible by default (since
specular_ioris 1.5 by default, andcoat_ior1.6).Enable Zeltner sheen #217: This change enables Zeltner sheen in the reference implementation of OpenPBR, leveraging the new functionality in MaterialX.
[1.0] - Jun 4, 2024